// 全局配置axios，并应用于每一次请求
import axios from "axios"; // 导入原生axios

// 创建一个axios实例
let http = axios.create({
    // 配置实例中的内容
    baseURL: '/api', // 配置公用的前缀
    timeout: 1000, // 超时时间--正常是20ms左右
})

// 拦截器-在发送数据或者接受数据时会自动执行的代码，可以批量处理请求
// 请求拦截器
http.interceptors.request.use(req => {
    if(req.url.includes('login') || req.url.includes('register')) { // 有的接口需要token，有的不要
        console.log('登陆注册不需要token');
    }else {
        req.headers.authorization = '456ytu9.87yug.ho4y543j'

    }
    // console.log(req, '每次发请求我都会执行');
    return req
}, err => {
    console.log(err);
})

// 响应拦截器---后端返回数据时执行
http.interceptors.response.use(data => {
    // console.log(data, '这个是服务器给的数据，拿走拿走别客气');
    // 筛选过滤，只返回data，别的不要了
    return data.data
}, err => {
    console.log(err);
})

// 暴露出去，方便别的文件使用
export default http